home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / smarty.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  15KB  |  532 lines

  1. <?xml version="1.0" ?>
  2. <!--
  3. /**
  4. * @version        2.0.1 (2010-02-08)
  5. * @author        Mads Lie Jensen
  6. * @author        Rowan Collins
  7. * Improved Smarty highlighting mode, based on http://www.palustris.dk/jedit/smarty.xml
  8. *    and the built-in PHP mode from jEdit 4.3
  9. * @link http://rwec.co.uk/jedit for documentation and updates
  10. */
  11.  
  12. To install, add this to the "catalog" file:
  13. <MODE NAME="smarty" FILE="smarty.xml" FILE_NAME_GLOB="*.tpl"></MODE>
  14.  
  15. You might want to execute these lines of BeanShell code (e.g. with the Utilities->BeanShell menu):
  16.  
  17. jEdit.setProperty("mode.smarty.sidekick.parser","html");
  18. jEdit.setProperty("mode.smarty.xml.completion-info",
  19. "jeditresource:/XML.jar!/xml/completion/html-complete.xml");
  20.  
  21. to get tag-completion/matching on html in the templates-files if you have the XML-plugin installed
  22.  
  23. -->
  24. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  25. <MODE>
  26.     <PROPS>
  27.         <PROPERTY NAME="commentStart" VALUE="{*" />
  28.         <PROPERTY NAME="commentEnd" VALUE="*}" />
  29.     </PROPS>
  30.  
  31.     <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
  32.         <SPAN TYPE="COMMENT1">
  33.             <BEGIN>{*</BEGIN>
  34.             <END>*}</END>
  35.         </SPAN>
  36.         
  37.         <!-- Highlight markup other than Smarty inside a {literal} block -->
  38.         <SPAN TYPE="LITERAL3" DELEGATE="NON_SMARTY">
  39.             <BEGIN>{LITERAL}</BEGIN>
  40.             <END>{/LITERAL}</END>
  41.         </SPAN>
  42.         
  43.         <SPAN TYPE="MARKUP" DELEGATE="php::PHP" MATCH_TYPE="FUNCTION">
  44.             <BEGIN>{PHP}</BEGIN>
  45.             <END>{/PHP}</END>
  46.         </SPAN>
  47.  
  48.         <SPAN TYPE="MARKUP" DELEGATE="SMARTY">
  49.             <BEGIN>{</BEGIN>
  50.             <END>}</END>
  51.         </SPAN>
  52.         
  53.         <!-- SGML comment -->
  54.         <SPAN TYPE="COMMENT1" DELEGATE="COMMENT1+SMARTY">
  55.             <BEGIN><!--</BEGIN>
  56.             <END>--></END>
  57.         </SPAN>
  58.         
  59.         <!-- JavaScript -->
  60.         <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT_OPENTAG">
  61.             <BEGIN><SCRIPT</BEGIN>
  62.             <END></SCRIPT></END>
  63.         </SPAN>
  64.  
  65.         <!-- CSS -->
  66.         <SPAN TYPE="MARKUP" DELEGATE="CSS_OPENTAG">
  67.             <BEGIN><STYLE</BEGIN>
  68.             <END></STYLE></END>
  69.         </SPAN>
  70.         
  71.         <!-- HTML tags -->
  72.         <SEQ_REGEXP HASH_CHAR="<" TYPE="MARKUP" DELEGATE="TAGS"></?\w+</SEQ_REGEXP>
  73.         
  74.         <IMPORT DELEGATE="NON_SMARTY" />
  75.     </RULES>
  76.     
  77.     <RULES SET="NON_SMARTY" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
  78.  
  79.         <!-- SGML comment -->
  80.         <SPAN TYPE="COMMENT1">
  81.             <BEGIN><!--</BEGIN>
  82.             <END>--></END>
  83.         </SPAN>
  84.  
  85.         <!-- DTD instructions -->
  86.         <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
  87.             <BEGIN><!</BEGIN>
  88.             <END>></END>
  89.         </SPAN>
  90.         
  91.         <!-- JavaScript -->
  92.         <SPAN_REGEXP HASH_CHAR="<SCRIPT" TYPE="MARKUP" DELEGATE="javascript::MAIN">
  93.             <BEGIN><SCRIPT.*?></BEGIN>
  94.             <END></SCRIPT></END>
  95.         </SPAN_REGEXP>
  96.  
  97.         <!-- CSS -->
  98.         <SPAN_REGEXP HASH_CHAR="<STYLE" TYPE="MARKUP" DELEGATE="css::MAIN">
  99.             <BEGIN><STYLE.*?></BEGIN>
  100.             <END></STYLE></END>
  101.         </SPAN_REGEXP>
  102.  
  103.         <!-- HTML tags -->
  104.         <SEQ_REGEXP HASH_CHAR="<" TYPE="MARKUP" DELEGATE="html::TAGS"></?\w+</SEQ_REGEXP>
  105.  
  106.         <!-- SGML entities -->
  107.         <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
  108.             <BEGIN>&</BEGIN>
  109.             <END>;</END>
  110.         </SPAN>
  111.  
  112.     </RULES>
  113.     
  114.     <!-- HTML tags (from MAIN rule) -->
  115.     <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">
  116.         <SEQ TYPE="MARKUP" DELEGATE="MAIN">></SEQ><!-- from SEQ_REGEXP delegate -->
  117.  
  118.         <SPAN_REGEXP AT_WORD_START="TRUE" TYPE="MARKUP" DELEGATE="CSS_PROPERTIES+SMARTY" HASH_CHAR="style">
  119.             <BEGIN>style\s*=\s*(["'])</BEGIN>
  120.             <END>$1</END>
  121.         </SPAN_REGEXP>
  122.         
  123.         <IMPORT DELEGATE="TO_LITERAL+SMARTY" />
  124.         <IMPORT DELEGATE="TO_SMARTY" />
  125.         <IMPORT DELEGATE="INVALID_LT" />
  126.         <IMPORT DELEGATE="html::TAGS" />
  127.     </RULES>
  128.     
  129.     <!-- Handle literals, but allow switching to SMARTY therein, e.g. from html TAGS -->
  130.     <RULES SET="TO_LITERAL+SMARTY">
  131.         <SPAN TYPE="LITERAL1" DELEGATE="LITERAL1+SMARTY">
  132.             <BEGIN>'</BEGIN>
  133.             <END>'</END>
  134.         </SPAN>
  135.         <SPAN TYPE="LITERAL2" DELEGATE="LITERAL2+SMARTY">
  136.             <BEGIN>"</BEGIN>
  137.             <END>"</END>
  138.         </SPAN>
  139.         <IMPORT DELEGATE="TO_SMARTY"/>
  140.     </RULES>
  141.     
  142.     <!-- Handle SMARTY tags in LITERAL1, e.g. in the "type" attribute of a <SCRIPT> tag -->
  143.     <RULES SET="LITERAL1+SMARTY" DEFAULT="LITERAL1" ESCAPE="\">
  144.         <IMPORT DELEGATE="TO_SMARTY"/>
  145.     </RULES>
  146.  
  147.     <!-- Handle SMARTY tags in LITERAL2, e.g. in the "type" attribute of a <SCRIPT> tag -->
  148.     <RULES SET="LITERAL2+SMARTY" DEFAULT="LITERAL2" ESCAPE="\">
  149.         <IMPORT DELEGATE="TO_SMARTY"/>
  150.     </RULES>
  151.     
  152.     <!-- Handle Smarty tags in HTML comments -->
  153.     <RULES SET="COMMENT1+SMARTY" DEFAULT="COMMENT1">
  154.         <IMPORT DELEGATE="TO_SMARTY"/>
  155.     </RULES>
  156.     
  157.     <!-- Go to SMARTY mode again -->
  158.     <RULES SET="TO_SMARTY" DEFAULT="MARKUP">
  159.         <SPAN TYPE="MARKUP" DELEGATE="SMARTY">
  160.             <BEGIN>{</BEGIN>
  161.             <END>}</END>
  162.         </SPAN>
  163.     </RULES>
  164.     
  165.     <RULES SET="INVALID_LT" DEFAULT="INVALID">
  166.         <SEQ TYPE="INVALID"><</SEQ>
  167.     </RULES>
  168.     
  169.     
  170.     
  171.     <!-- CSS where SMARTY code may be injected -->
  172.     <RULES SET="CSS_OPENTAG" DEFAULT="MARKUP">
  173.         <SEQ TYPE="MARKUP" DELEGATE="CSS+SMARTY">></SEQ>
  174.  
  175.         <IMPORT DELEGATE="TO_LITERAL+SMARTY"/>
  176.     </RULES>
  177.  
  178.     <RULES SET="CSS+SMARTY" DEFAULT="MARKUP">
  179.         <!-- Hacky support for highlighting of CSS not inside a {literal} block -->
  180.         <SPAN TYPE="FUNCTION" DELEGATE="CSS_PROPERTIES+SMARTY">
  181.             <BEGIN>{ldelim}</BEGIN>
  182.             <END>{rdelim}</END>
  183.         </SPAN>
  184.         <SPAN TYPE="KEYWORD3" DELEGATE="CSS_PROPERTIES+SMARTY">
  185.             <BEGIN>{$smarty.ldelim}</BEGIN>
  186.             <END>{$smarty.rdelim}</END>
  187.         </SPAN>
  188.         
  189.         <SEQ TYPE="OPERATOR" DELEGATE="CSS_PSEUDO">:</SEQ>
  190.         
  191.         <IMPORT DELEGATE="TO_SMARTY"/>
  192.         <IMPORT DELEGATE="css::MAIN"/>
  193.     </RULES>
  194.     <RULES SET="CSS_PROPERTIES+SMARTY" ESCAPE="\">
  195.         <SEQ TYPE="OPERATOR" DELEGATE="CSS_PROP_VALUE+SMARTY">:</SEQ>
  196.         
  197.         <IMPORT DELEGATE="TO_SMARTY"/>
  198.         <IMPORT DELEGATE="css::PROPERTIES"/>
  199.     </RULES>
  200.     <RULES SET="CSS_PROP_VALUE+SMARTY"
  201.         HIGHLIGHT_DIGITS="TRUE"
  202.         DIGIT_RE="-?\d+(\.\d+)?(pt|pc|in|mm|cm|em|ex|px|ms|s|%|)"
  203.         NO_WORD_SEP="-_%">
  204.         
  205.         <SEQ TYPE="OPERATOR" DELEGATE="CSS_PROPERTIES+SMARTY">;</SEQ>
  206.         <SEQ TYPE="INVALID" DELEGATE="CSS+SMARTY">}</SEQ> <!-- end properties block, but it's invalid -->
  207.         
  208.         <IMPORT DELEGATE="TO_SMARTY"/>
  209.         <IMPORT DELEGATE="css::PROP_VALUE"/>
  210.     </RULES>
  211.     <!-- Pseudo-classes like ":active" are handled specially in the CSS mode -->
  212.     <RULES SET="CSS_PSEUDO">
  213.         <SEQ TYPE="NULL" DELEGATE="CSS+SMARTY"> </SEQ>
  214.         <SEQ TYPE="OPERATOR" DELEGATE="CSS+SMARTY">,</SEQ>
  215.         
  216.         <SPAN TYPE="FUNCTION" DELEGATE="CSS_PROPERTIES+SMARTY">
  217.             <BEGIN>{ldelim}</BEGIN>
  218.             <END>{rdelim}</END>
  219.         </SPAN>
  220.         <SPAN TYPE="KEYWORD3" DELEGATE="CSS_PROPERTIES+SMARTY">
  221.             <BEGIN>{$smarty.ldelim}</BEGIN>
  222.             <END>{$smarty.rdelim}</END>
  223.         </SPAN>
  224.     
  225.         <IMPORT DELEGATE="TO_SMARTY"/>
  226.         <IMPORT DELEGATE="css::PSEUDO"/>
  227.     </RULES>
  228.     
  229.     <!-- Javascript -->
  230.     <RULES SET="JAVASCRIPT_OPENTAG" DEFAULT="MARKUP">
  231.         <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT">></SEQ>
  232.         <IMPORT DELEGATE="TO_LITERAL+SMARTY"/> <!-- handle SMARTY in <script> tag -->
  233.         <IMPORT DELEGATE="html::TAGS" /> <!-- handle e.g. 'style="width:1px"' -->
  234.     </RULES>
  235.     
  236.     <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" ESCAPE="\">
  237.         <IMPORT DELEGATE="TO_LITERAL+SMARTY"/>
  238.         <IMPORT DELEGATE="TO_SMARTY"/>
  239.         <IMPORT DELEGATE="javascript::MAIN"/>
  240.     </RULES>
  241.     
  242.     
  243.     
  244.     <RULES DEFAULT="LITERAL2" SET="DOUBLE_QUOTED" IGNORE_CASE="TRUE">
  245.         <SPAN TYPE="LITERAL2" DELEGATE="BACK_TICKED">
  246.             <BEGIN>`</BEGIN>
  247.             <END>`</END>
  248.         </SPAN>
  249.         
  250.         <IMPORT DELEGATE="VARIABLES" />
  251.     </RULES>
  252.     
  253.     <RULES DEFAULT="LITERAL2" SET="BACK_TICKED" IGNORE_CASE="TRUE">
  254.         <IMPORT DELEGATE="VARIABLES" />
  255.         <IMPORT DELEGATE="MATH_OPERATORS" />
  256.     </RULES>
  257.     
  258.     
  259.     <RULES SET="VARIABLES">
  260.         <MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>
  261.     </RULES>
  262.         
  263.     <RULES SET="MATH_OPERATORS" IGNORE_CASE="TRUE">
  264.         <SEQ TYPE="OPERATOR">.</SEQ>
  265.         <SEQ TYPE="OPERATOR">-></SEQ>
  266.         <SEQ TYPE="OPERATOR">*</SEQ>
  267.         <SEQ TYPE="OPERATOR">/</SEQ>
  268.         <SEQ TYPE="OPERATOR">+</SEQ>
  269.         <SEQ TYPE="OPERATOR">-</SEQ>
  270.         <SEQ TYPE="OPERATOR">%</SEQ>
  271.     </RULES>
  272.  
  273.     <RULES SET="LOGIC_OPERATORS" IGNORE_CASE="TRUE">
  274.         <SEQ TYPE="OPERATOR">|</SEQ>
  275.         <SEQ TYPE="OPERATOR">:</SEQ>
  276.         <SEQ TYPE="OPERATOR">=</SEQ>
  277.     
  278.         <KEYWORDS>
  279.             <OPERATOR>!=</OPERATOR>
  280.             <OPERATOR>></OPERATOR>
  281.             <OPERATOR>>=</OPERATOR>
  282.             <OPERATOR><</OPERATOR>
  283.             <OPERATOR><=</OPERATOR>
  284.             
  285.             <OPERATOR>==</OPERATOR>
  286.             
  287.             <OPERATOR>div by </OPERATOR>
  288.             <OPERATOR>even by </OPERATOR>
  289.             <OPERATOR>is even </OPERATOR>
  290.             <OPERATOR>is not even </OPERATOR>
  291.             <OPERATOR>is not odd </OPERATOR>
  292.             <OPERATOR>is odd </OPERATOR>
  293.             <OPERATOR>odd by </OPERATOR>
  294.             
  295.             <OPERATOR>eq</OPERATOR>
  296.             <OPERATOR>ge</OPERATOR>
  297.             <OPERATOR>gt</OPERATOR>
  298.             <OPERATOR>gte</OPERATOR>
  299.             <OPERATOR>le</OPERATOR>
  300.             <OPERATOR>lt</OPERATOR>
  301.             <OPERATOR>lte</OPERATOR>
  302.             <OPERATOR>mod</OPERATOR>
  303.             <OPERATOR>ne</OPERATOR>
  304.             <OPERATOR>neq</OPERATOR>
  305.             <OPERATOR>not</OPERATOR>
  306.         </KEYWORDS>
  307.     </RULES>
  308.     
  309.  
  310.     <RULES SET="SMARTY" IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE" DEFAULT="LITERAL1">
  311.         <SPAN TYPE="LITERAL1">
  312.             <BEGIN>'</BEGIN>
  313.             <END>'</END>
  314.         </SPAN>
  315.         
  316.         <SPAN TYPE="LITERAL2" DELEGATE="DOUBLE_QUOTED">
  317.             <BEGIN>"</BEGIN>
  318.             <END>"</END>
  319.         </SPAN>
  320.         
  321.         <!-- Variables from config-files -->
  322.         <SPAN TYPE="KEYWORD3">
  323.             <BEGIN>#</BEGIN>
  324.             <END>#</END>
  325.         </SPAN>
  326.         
  327.         <IMPORT DELEGATE="VARIABLES" />
  328.         <IMPORT DELEGATE="MATH_OPERATORS" />
  329.         <IMPORT DELEGATE="LOGIC_OPERATORS" />
  330.         
  331.         <KEYWORDS>
  332.         
  333.             <!-- Built-in functions (in order of documentation) -->
  334.             <FUNCTION>capture</FUNCTION>
  335.             <FUNCTION>/capture</FUNCTION>
  336.             <FUNCTION>config_load</FUNCTION>
  337.             <FUNCTION>foreach</FUNCTION>
  338.             <FUNCTION>foreachelse</FUNCTION>
  339.             <FUNCTION>/foreach</FUNCTION>
  340.             <FUNCTION>if</FUNCTION>
  341.             <FUNCTION>else</FUNCTION>
  342.             <FUNCTION>elseif</FUNCTION>
  343.             <FUNCTION>/if</FUNCTION>
  344.             <FUNCTION>include</FUNCTION>
  345.             <FUNCTION>include_php</FUNCTION>
  346.             <FUNCTION>insert</FUNCTION>
  347.             <FUNCTION>ldelim</FUNCTION>
  348.             <FUNCTION>rdelim</FUNCTION>
  349.             <!-- {literal} is handled specially -->
  350.             <!-- {php} is handled specially -->
  351.             <FUNCTION>section</FUNCTION>
  352.             <FUNCTION>sectionelse</FUNCTION>
  353.             <FUNCTION>/section</FUNCTION>
  354.             <FUNCTION>strip</FUNCTION>
  355.             <FUNCTION>/strip</FUNCTION>
  356.             
  357.             <!-- Default custom functions -->
  358.             <FUNCTION>assign</FUNCTION>
  359.             <FUNCTION>counter</FUNCTION>
  360.             <FUNCTION>cycle</FUNCTION>
  361.             <FUNCTION>debug</FUNCTION>
  362.             <FUNCTION>eval</FUNCTION>
  363.             <FUNCTION>fetch</FUNCTION>
  364.             <FUNCTION>html_checkboxes</FUNCTION>
  365.             <FUNCTION>html_image</FUNCTION>
  366.             <FUNCTION>html_options</FUNCTION>
  367.             <FUNCTION>html_radios</FUNCTION>
  368.             <FUNCTION>html_select_date</FUNCTION>
  369.             <FUNCTION>html_select_time</FUNCTION>
  370.             <FUNCTION>html_table</FUNCTION>
  371.             <FUNCTION>mailto</FUNCTION>
  372.             <FUNCTION>math</FUNCTION>
  373.             <FUNCTION>popup</FUNCTION>
  374.             <FUNCTION>popup_init</FUNCTION>
  375.             <FUNCTION>textformat</FUNCTION>
  376.             <FUNCTION>/textformat</FUNCTION>
  377.             
  378.             <!-- 
  379.             Variable modifiers
  380.             'strip' is used in Smarty as both a variable modifier and a function.
  381.             I have them listed as both, but it will only be recognised as one of these possibilities.
  382.             At time of writing this is the last entry, ie. a KEYWORD1
  383.             -->
  384.             <KEYWORD1>capitalize</KEYWORD1>
  385.             <KEYWORD1>cat</KEYWORD1>
  386.             <KEYWORD1>count_characters</KEYWORD1>
  387.             <KEYWORD1>count_paragraphs</KEYWORD1>
  388.             <KEYWORD1>count_sentences</KEYWORD1>
  389.             <KEYWORD1>count_words</KEYWORD1>
  390.             <KEYWORD1>date_format</KEYWORD1>
  391.             <KEYWORD1>default</KEYWORD1>
  392.             <KEYWORD1>escape</KEYWORD1>
  393.             <KEYWORD1>indent</KEYWORD1>
  394.             <KEYWORD1>lower</KEYWORD1>
  395.             <KEYWORD1>nl2br</KEYWORD1>
  396.             <KEYWORD1>regex_replace</KEYWORD1>
  397.             <KEYWORD1>replace</KEYWORD1>
  398.             <KEYWORD1>spacify</KEYWORD1>
  399.             <KEYWORD1>string_format</KEYWORD1>
  400.             <KEYWORD1>strip</KEYWORD1>
  401.             <KEYWORD1>strip_tags</KEYWORD1>
  402.             <KEYWORD1>truncate</KEYWORD1>
  403.             <KEYWORD1>upper</KEYWORD1>
  404.             <KEYWORD1>wordwrap</KEYWORD1>
  405.             
  406.             <!-- attributes for Smarty built-in and custom functions -->
  407.             <KEYWORD3>above</KEYWORD3>
  408.             <KEYWORD3>advance</KEYWORD3>
  409.             <KEYWORD3>all_extra</KEYWORD3>
  410.             <KEYWORD3>assign</KEYWORD3>
  411.             <KEYWORD3>autostatus</KEYWORD3>
  412.             <KEYWORD3>autostatuscap</KEYWORD3>
  413.             <KEYWORD3>background</KEYWORD3>
  414.             <KEYWORD3>below</KEYWORD3>
  415.             <KEYWORD3>bgbackground</KEYWORD3>
  416.             <KEYWORD3>bgcolor</KEYWORD3>
  417.             <KEYWORD3>border</KEYWORD3>
  418.             <KEYWORD3>caparray</KEYWORD3>
  419.             <KEYWORD3>capcolor</KEYWORD3>
  420.             <KEYWORD3>capicon</KEYWORD3>
  421.             <KEYWORD3>caption</KEYWORD3>
  422.             <KEYWORD3>captionfont</KEYWORD3>
  423.             <KEYWORD3>captionsize</KEYWORD3>
  424.             <KEYWORD3>center</KEYWORD3>
  425.             <KEYWORD3>closecolor</KEYWORD3>
  426.             <KEYWORD3>closefont</KEYWORD3>
  427.             <KEYWORD3>closesize</KEYWORD3>
  428.             <KEYWORD3>closetext</KEYWORD3>
  429.             <KEYWORD3>day_extra</KEYWORD3>
  430.             <KEYWORD3>day_format</KEYWORD3>
  431.             <KEYWORD3>day_size</KEYWORD3>
  432.             <KEYWORD3>delay</KEYWORD3>
  433.             <KEYWORD3>delimiter</KEYWORD3>
  434.             <KEYWORD3>direction</KEYWORD3>
  435.             <KEYWORD3>display_days</KEYWORD3>
  436.             <KEYWORD3>display_hours</KEYWORD3>
  437.             <KEYWORD3>display_meridian</KEYWORD3>
  438.             <KEYWORD3>display_minutes</KEYWORD3>
  439.             <KEYWORD3>display_months</KEYWORD3>
  440.             <KEYWORD3>display_seconds</KEYWORD3>
  441.             <KEYWORD3>display_years</KEYWORD3>
  442.             <KEYWORD3>end_year</KEYWORD3>
  443.             <KEYWORD3>equation</KEYWORD3>
  444.             <KEYWORD3>fgbackground</KEYWORD3>
  445.             <KEYWORD3>fgcolor</KEYWORD3>
  446.             <KEYWORD3>field_array</KEYWORD3>
  447.             <KEYWORD3>field_order</KEYWORD3>
  448.             <KEYWORD3>field_separator</KEYWORD3>
  449.             <KEYWORD3>file</KEYWORD3>
  450.             <KEYWORD3>fixx</KEYWORD3>
  451.             <KEYWORD3>fixy</KEYWORD3>
  452.             <KEYWORD3>format</KEYWORD3>
  453.             <KEYWORD3>frame</KEYWORD3>
  454.             <KEYWORD3>from</KEYWORD3>
  455.             <KEYWORD3>fullhtml</KEYWORD3>
  456.             <KEYWORD3>hauto</KEYWORD3>
  457.             <KEYWORD3>height</KEYWORD3>
  458.             <KEYWORD3>hour_extra</KEYWORD3>
  459.             <KEYWORD3>inarray</KEYWORD3>
  460.             <KEYWORD3>indent</KEYWORD3>
  461.             <KEYWORD3>indent_char</KEYWORD3>
  462.             <KEYWORD3>indent_first</KEYWORD3>
  463.             <KEYWORD3>item</KEYWORD3>
  464.             <KEYWORD3>key</KEYWORD3>
  465.             <KEYWORD3>left</KEYWORD3>
  466.             <KEYWORD3>loop</KEYWORD3>
  467.             <KEYWORD3>max</KEYWORD3>
  468.             <KEYWORD3>meridian_extra</KEYWORD3>
  469.             <KEYWORD3>minute_extra</KEYWORD3>
  470.             <KEYWORD3>minute_interval</KEYWORD3>
  471.             <KEYWORD3>month_extra</KEYWORD3>
  472.             <KEYWORD3>month_format</KEYWORD3>
  473.             <KEYWORD3>month_size</KEYWORD3>
  474.             <KEYWORD3>month_value_format</KEYWORD3>
  475.             <KEYWORD3>name</KEYWORD3>
  476.             <KEYWORD3>noclose</KEYWORD3>
  477.             <KEYWORD3>offsetx</KEYWORD3>
  478.             <KEYWORD3>offsety</KEYWORD3>
  479.             <KEYWORD3>once</KEYWORD3>
  480.             <KEYWORD3>options</KEYWORD3>
  481.             <KEYWORD3>output</KEYWORD3>
  482.             <KEYWORD3>padx</KEYWORD3>
  483.             <KEYWORD3>pady</KEYWORD3>
  484.             <KEYWORD3>prefix</KEYWORD3>
  485.             <KEYWORD3>print</KEYWORD3>
  486.             <KEYWORD3>reverse_years</KEYWORD3>
  487.             <KEYWORD3>right</KEYWORD3>
  488.             <KEYWORD3>scope</KEYWORD3>
  489.             <KEYWORD3>script</KEYWORD3>
  490.             <KEYWORD3>second_extra</KEYWORD3>
  491.             <KEYWORD3>second_interval</KEYWORD3>
  492.             <KEYWORD3>section</KEYWORD3>
  493.             <KEYWORD3>selected</KEYWORD3>
  494.             <KEYWORD3>show</KEYWORD3>
  495.             <KEYWORD3>skip</KEYWORD3>
  496.             <KEYWORD3>snapx</KEYWORD3>
  497.             <KEYWORD3>snapy</KEYWORD3>
  498.             <KEYWORD3>start</KEYWORD3>
  499.             <KEYWORD3>start_year</KEYWORD3>
  500.             <KEYWORD3>status</KEYWORD3>
  501.             <KEYWORD3>step</KEYWORD3>
  502.             <KEYWORD3>sticky</KEYWORD3>
  503.             <KEYWORD3>stop</KEYWORD3>
  504.             <KEYWORD3>style</KEYWORD3>
  505.             <KEYWORD3>text</KEYWORD3>
  506.             <KEYWORD3>textcolor</KEYWORD3>
  507.             <KEYWORD3>textfont</KEYWORD3>
  508.             <KEYWORD3>textsize</KEYWORD3>
  509.             <KEYWORD3>time</KEYWORD3>
  510.             <KEYWORD3>timeout</KEYWORD3>
  511.             <KEYWORD3>trigger</KEYWORD3>
  512.             <KEYWORD3>use_24_hours</KEYWORD3>
  513.             <KEYWORD3>value</KEYWORD3>
  514.             <KEYWORD3>values</KEYWORD3>
  515.             <KEYWORD3>var</KEYWORD3>
  516.             <KEYWORD3>vauto</KEYWORD3>
  517.             <KEYWORD3>width</KEYWORD3>
  518.             <KEYWORD3>wrap</KEYWORD3>
  519.             <KEYWORD3>wrap_char</KEYWORD3>
  520.             <KEYWORD3>wrap_cut</KEYWORD3>
  521.             <KEYWORD3>year_as_text</KEYWORD3>
  522.             <KEYWORD3>year_extra</KEYWORD3>
  523.             <KEYWORD3>year_size</KEYWORD3>
  524.             
  525.         </KEYWORDS>
  526.         
  527.     </RULES>
  528.  
  529. </MODE>
  530.  
  531.             
  532.